<?php
    require APPPATH .'third_party/admin_controller'.EXT;
    class Setting extends Admin_Controller
    {
		public function __construct()
		{
			parent::__construct();
		}
		public function index()
		{
		   $this->check_login_admin();
			$data = array();            
            $valid = $this->form_validation;
            $valid->set_rules('txt_title_tv','Site Title TV','trim|required|xss_clean');
            $valid->set_rules('txt_title_ta','Site Title TA','trim|required|xss_clean');
            $valid->set_rules('txt_address_ta','Address TA','trim|required|xss_clean');
            $valid->set_rules('txt_address_tv','Address TV','trim|required|xss_clean');
            $valid->set_rules('txt_email_company','Email Company','trim|required|xss_clean|valid_email');
            $image = $this->input->post('image');
            $id = '6';
            
            if($valid->run() == TRUE)
            {
                $data = array(
                'title_tv' => $this->input->post('txt_title_tv'),
                'title_ta' => $this->input->post('txt_title_ta'),
                'address_ta'   => $this->input->post('txt_address_tv'),
                'address_tv'   => $this->input->post('txt_address_ta'),
                'email_company' => $this->input->post('txt_email_company'),
                'phone'     => $this->input->post('txt_phone'),
                'fax'       => $this->input->post('txt_fax'),
                'website'   => $this->input->post('txt_website'),
                'hotline'   => $this->input->post('txt_hotline'),
                'email_receive'     => $this->input->post('txt_email_receive'),
                'google_code' => $this->input->post('txt_google_code'),
                'capcha'      => $this->input->post('txt_capcha'),              
                'logo_alt'    => $this->input->post('txt_logo_alt'),
                'language'    => $this->input->post('txt_language'),
                'style_email' => $this->input->post('txt_style_email'),
                'smtp_host'   => $this->input->post('txt_smtp_host'),
                'smtp_user'   => $this->input->post('txt_smtp_user'),
                'smtp_pass'   => $this->input->post('txt_smtp_pass'),
                'smtp_port'   => $this->input->post('txt_smtp_port'), 
                'meta_keyword'   => $this->input->post('txt_meta_keyword'),  
                'meta_description'   => $this->input->post('txt_meta_description'),   
                );                
                if($_FILES['txt_logo']['name']!='')
				{
					$config['upload_path'] = './upload/logo/';
					$config['allowed_types'] = 'gif|jpg|png';
					$config['remove_spaces'] = TRUE;
					$config['max_size'] = 1024;
					$config['max_width'] = '1024';
					$config['max_height'] = '1024';
					$config['file_name'] = $_FILES['txt_logo']['name'];
					$this->load->library('upload', $config);
					if(!$this->upload->do_upload('txt_logo')) 
					{
					$data['error'] = $this->upload->display_error();
					} else {
					$upload = $this->upload->data();
					$data['logo'] = 'upload/logo/'.$upload['file_name'];				
    						if($image !='')
    						{
    						@unlink($image);    					
    						}			
						}	
				}
				else
				{
					if($image !='') {
					$data['logo'] = $image;				
					} else {
						$data['logo'] = '';						
					}
				}
                 if($id !='')
                {
                    $this->setting_model->update_setting($id,$data);
                    $data['error'] = "Cap nhat thanh cong";
                }
                
				
            }
            $data['uid']= $id;
            $data['setting'] = $this->setting_model->get_setting($id);
			$this->load_render($this->load->view('setting/setting',$data,TRUE));
		}
		public function change_password()
		{
		   $this->check_login_admin();
			$data = array();           
            $valid = $this->form_validation;
            $valid->set_rules('txt_old_pass','Old password','trim|required|xss_clean');
            $valid->set_rules('txt_new_pass','New password','trim|required|xss_clean|min_length[5]|max_length[12]');
            $valid->set_rules('txt_confirm_pass','Confirm password','trim|required|xss_clean|matches[txt_new_pass]');
            if($valid->run() == TRUE)
            {
                $id = $this->session->userdata('id_user');
                $old_pass = md5($this->input->post('txt_old_pass'));
                $new_pass = md5($this->input->post('txt_new_pass'));
                if($this->users->check_password($id,$old_pass) == true)
                {
                   if($this->users->change_password($id,$new_pass))
                   {
                    $data['error'] = "Cập nhật thành công";
                   }
                   else
                   {
                    $data['error'] = "Cập nhật không thành công";
                   }
                }
                else
                {
                    $data['error'] = "Mật khẩu không thành công";
                }
            }
			$this->load_render($this->load->view('setting/password',$data,TRUE));
		}
        
		public function user()
		{
		   $this->check_login_admin();
			$data = array();
            $data['show_user'] = $this->users->list_user();
			$this->load_render($this->load->view('setting/list_user',$data,TRUE));
		}
        function delete_user()
        {
             $this->check_login_admin();
             $id = $this->uri->segment('4');
             if($this->users->delete_members($id))
             {
                redirect('admin/setting/user');   
             }
        }
        function change_group()
        {
            $this->check_login_admin();
            $data = array();            
            $id = $this->input->get('id');
            $data['level'] = $this->input->get('group');
            if($this->users->change_group($id,$data))
            {
                $data['error'] = "Cập nhật thành công";
            }
            else
            {
                $data['error'] = "Cập nhật không thành công";
            }
            echo json_encode($data);
        }
        function change_active()
        {
            $this->check_login_admin();
            $data = array();            
            $id = $this->input->get('id');
            $data['active'] = $this->input->get('active');
            if($this->users->change_active($id,$data))
            {
                $data['error'] = "Cập nhật thành công";
            }
            else
            {
                $data['error'] = "Cập nhật không thành công";
            }
            echo json_encode($data);
        }
		public function user_add()
		{
		   $this->check_login_admin();
			$data = array();
            $valid = $this->form_validation;
            $valid->set_rules('txt_user','Username','trim|required|xss_clean');
            $valid->set_rules('txt_pass','New password','trim|required|xss_clean|min_length[5]|max_length[12]');
            $valid->set_rules('txt_pass2','Confirm password','trim|required|xss_clean|matches[txt_pass]');
            $id = $this->uri->segment('4');
            $sid = $this->session->userdata('id_user');
            if($valid->run() == TRUE)
            {
                $user = $this->input->post('txt_user');
                $pass = md5($this->input->post('txt_pass'));
                $email = ($this->input->post('txt_email')) ? $this->input->post('txt_email') : "";
                $fullname = ($this->input->post('txt_fullname')) ? $this->input->post('txt_fullname') : "";                
                $active = ($this->input->post('txt_active')) ? $this->input->post('txt_active') : "";
                $group = $this->input->post('txt_group');
                $data = array(                    
                    'level'    => $group,
                    'password' => $pass,
                    'email'    => $email,
                    'fullname' => $fullname,
                    'active'   => $active
                  );
                 if($id != '')
                 {
                    if($this->users->kiemtra_user($user) == false and $this->users->check_password($sid,$pass) == false)
                    {
                        $data['username'] = $user;
                        if($this->users->update_users($id,$data))
                        {
                            $data['error'] = "Cập nhật thành công";
                        }
                        else
                        {
                            $data['error'] = "Cập nhật không thành công";
                        }
                    }
                    else
                    {
                        $data['error'] = "Tên đăng nhập đã có người dùng";
                    }
                    
                    
                 }
                 else
                 {
                    if($this->users->kiemtra_user($user) == false)
                    {
                        $data['username'] = $user;
                        if($this->users->create_users($data))
                        {
                            $data['error'] = "Thêm thành công";
                        }
                        else
                        {
                            $data['error'] = "Thêm không thành công";
                        }
                    }
                    else
                    {
                        $data['error'] = "Tên đăng nhập đã có người dùng";
                    }
                    
             
                 }                           
            }
            $data['users'] = $this->users->get_id_members($id);
            $data['uid'] = $id;
			$this->load_render($this->load->view('setting/user_add',$data,TRUE));
		}
		public function group()
		{
		   $this->check_login_admin();
			$data = array();
            $data['group'] = $this->online_model->list_sub_online();
			$this->load_render($this->load->view('setting/group',$data,TRUE));
		}
		public function listNick()
		{
		   $this->check_login_admin();
			$data = array();
            $data['nicks'] = $this->online_model->list_online();
			$this->load_render($this->load->view('setting/list_nick',$data,TRUE));
		}
		public function add_nick()
		{
		   $this->check_login_admin();
			$data = array();
            $valid = $this->form_validation;
            $valid->set_rules('txt_phone','Phone','trim|required|xss_clean'); 
            $valid->set_rules('txt_yahoo','Yahoo','trim|required|xss_clean');
            $valid->set_rules('txt_skype','Skype','trim|required|xss_clean');
            $id = $this->uri->segment('4');          
            if($valid->run() == TRUE)
            {
                $id_sub = $this->input->post('txt_group');
                $phone = $this->input->post('txt_phone');
                $yahoo = $this->input->post('txt_yahoo');
                $description = $this->input->post('txt_description');
                $skype = $this->input->post('txt_skype');
                $order = $this->input->post('txt_order');
                $active = $this->input->post('txt_active');
                
                $data = array(
                'id_sub'=>$id_sub,
                'phone' => $phone,
                'yahoo' => $yahoo,
                'skype'    => $skype,
                'order_users'    => $order,
                'active'    => $active,
                'description'    => $description
                 );
                
                if($id !='')
                {
                    if($this->online_model->update_user_online($id,$data))
                    {
                        $data['error'] = "Cập nhật thành công";
                    }
                    else
                    {
                       $data['error'] = "Cập nhật không thành công"; 
                    }
                }
                else
                {
                    if($this->online_model->add_user_online($data))
                    {
                        $data['error'] = "Thêm thành công";
                    }
                    else
                    {
                        $data['error'] = "Thêm không thành công";
                    }
                }
            }
            $data['uid'] = $id;
            $data['nicks'] = $this->online_model->get_info_nick($id);
			$data['list_group'] = $this->online_model->list_sub_online();
			$this->load_render($this->load->view('setting/add_nick',$data,TRUE));
		}
        function delete_nick()
        {
            $this->check_login_admin();
            $id = $this->uri->segment('4');
            if($this->online_model->delete_nick_online($id))
            {
                redirect('admin/setting/listNick');
            }
        }
		public function add_group()
		{
		   $this->check_login_admin();
           $data = array();
            $valid = $this->form_validation;
            $valid->set_rules('txt_user','Tên nhóm','trim|required|xss_clean'); 
            $id = $this->uri->segment('4');          
            if($valid->run() == TRUE)
            {
                $name = $this->input->post('txt_user');
                $description = $this->input->post('txt_description');
                $order = $this->input->post('txt_order');
                $active = $this->input->post('txt_active');
                $data = array(
                    'name' => $name,
                    'description' => $description,
                    'order_sub'   => $order,
                    'active'      => $active
                );
                if($id !='')
                {
                    if($this->online_model->update_group_online($id,$data))
                    {
                        $data['error'] = "Cập nhật thành công";
                    }
                    else
                    {
                       $data['error'] = "Cập nhật không thành công"; 
                    }
                }
                else
                {
                    if($this->online_model->add_group_online($data))
                    {
                        $data['error'] = "Thêm thành công";
                    }
                    else
                    {
                        $data['error'] = "Thêm không thành công";
                    }
                }
            }
            $data['uid'] = $id;
            $data['onlines'] = $this->online_model->get_info_sub($id);
			$this->load_render($this->load->view('setting/add_group',$data,TRUE));
		}
        function update_group_active()
        {
            $this->check_login_admin();
            $data = array();            
            $id = $this->input->get('id');
            $data['active'] = $this->input->get('active');
            if($this->online_model->update_group_active($id,$data))
            {
                $data['error'] = "Cập nhật thành công";
            }
            else
            {
                $data['error'] = "Cập nhật không thành công";
            }
            
            echo json_encode($data);
        }
        function update_user_active()
        {
            $this->check_login_admin();
            $data = array();            
            $id = $this->input->get('id');
            $data['active'] = $this->input->get('active');
            if($this->online_model->update_users_active($id,$data))
            {
                $data['error'] = "Cập nhật thành công";
            }
            else
            {
                $data['error'] = "Cập nhật không thành công";
            }
            echo json_encode($data);
        }
        function delete_group()
        {
            $this->check_login_admin();
            $id = $this->uri->segment('4');
			if($this->online_model->delete_group_online($id))
			{
				redirect('admin/setting/group');
			}
            
        }
      
	}
?>